how to convert boolean expressions into canonical form